package jia.tools;


/**
 * Collection of methods used to determine the modifier of a given action for a
 * given gaming system.  e.g., What is the modifier to hit in the DnD 2ed rules?
 * Game systems from Dnd 2ed, and the modern d20 rules are represented.  
 * @author Erik Stell
 * @version 1.0
 */
public class CalculateModifier {

    /**
     * Method to determine the modifier value of a given attribute.  This applies to
     * basic functions like to hit, and dodge abilities, etc.
     * @param stat - The statistic value to based the modifier value from
     * @return int value representing the modifier.  This can be a negative number depending
     * on the statistic provided
     */
    public int getStatMod(int stat) {
        int retVal = 0;

        return retVal;
    }

    
    public int getToHitMod2ED(int stat, String type) {
        int retVal = 0;

        return retVal;
    }

    public int getSkillMod(int stat, String skill, int ranks) {
        int retVal = 0;

        return retVal;
    }

    public int getTHACO2ED() {
        int retVal = 0;

        return retVal;
    }

    public int getReflexSaveD20() {
        int retVal = 0;

        return retVal;
    }

    public int getWillSaveD20() {
        int retVal = 0;

        return retVal;
    }

    public int getFortitudeSaveD20() {
        int retVal = 0;

        return retVal;
    }

    public int getAttackBonusD20() {
        int retVal = 0;

        return retVal;
    }

    public int meleeDamageCalculator2ED(int Strength, int weaponDice,
        int weaponMods) {
        int retVal = 0;

        //Use the strength attribute to determine the damage modifier based on strength.
        //add the strength mod to whatever mod the weapon has.
        //roll for damage based on the hitdice of the weapon.
        //add the modifier damage to the result
        //return the value
        return retVal;
    }

    public int rangedDamageCalculator2ED(int Dexterity, int weaponDice,
        int weaponMods) {
        int retVal = 0;

        //Use the Dexterity attribute to determine the damage modifier based on strength.
        //add the strength mod to whatever mod the weapon has.
        //roll for damage based on the hitdice of the weapon.
        //add the modifier damage to the result
        //return the value
        return retVal;
    }

    public int meleeDamageCalculatorD20(int Strength, int weaponDice,
        int weaponMods) {
        int retVal = 0;

        //Use the strength attribute to determine the damage modifier based on strength.
        //add the strength mod to whatever mod the weapon has.
        //roll for damage based on the hitdice of the weapon.
        //add the modifier damage to the result
        //return the value
        return retVal;
    }

    public int rangedDamageCalculatorD20(int Dexterity, int weaponDice,
        int weaponMods) {
        int retVal = 0;

        //Use the Dexterity attribute to determine the damage modifier based on strength.
        //add the strength mod to whatever mod the weapon has.
        //roll for damage based on the hitdice of the weapon.
        //add the modifier damage to the result
        //return the value
        return retVal;
    }
}
